using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("BoxLightMgr")]
	public class BoxLightMgr : MonoBehaviour
	{
		public List<BoxLightState> m_States => method_3<Class271<BoxLightState>>("m_States")?.method_25();

		public BoxLightStateType m_activeStateType => method_2<BoxLightStateType>("m_activeStateType");

		public BoxLightMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BoxLightMgr(IntPtr address)
			: this(address, "BoxLightMgr")
		{
		}

		public void Start()
		{
			method_8("Start");
		}

		public BoxLightStateType GetActiveState()
		{
			return method_11<BoxLightStateType>("GetActiveState", Array.Empty<object>());
		}

		public void ChangeState(BoxLightStateType stateType)
		{
			method_8("ChangeState", stateType);
		}

		public void SetState(BoxLightStateType stateType)
		{
			method_8("SetState", stateType);
		}

		public void UpdateState()
		{
			method_8("UpdateState");
		}

		public BoxLightState FindState(BoxLightStateType stateType)
		{
			return method_14<BoxLightState>("FindState", new object[1] { stateType });
		}

		public void ChangeStateImpl(BoxLightStateType stateType)
		{
			method_8("ChangeStateImpl", stateType);
		}

		public void ChangeAmbient(BoxLightState state)
		{
			method_8("ChangeAmbient", state);
		}

		public void ChangeLight(BoxLightState state, BoxLightInfo lightInfo)
		{
			method_8("ChangeLight", state, lightInfo);
		}
	}
}
